package com.wlt.result;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 返回状态码的枚举类
 */
@Getter
@AllArgsConstructor
public enum CodeEnum
{
    /**
     * 正常：success，200
     */
    SUCCESS(200, "ok"),
    /**
     * 系统异常：error，500
     */
    SYSTEM_ERROR(500, "系统异常"),
    /**
     * 业务异常：error，601
     */
    PARAMETER_ERROR(601, "参数异常"),
    /**
     * 添加商品类型异常：error，602
     */
    INSERT_PRODUCT_TYPE_ERROR(602, "三级商品类型不能添加子类型"),
    /**
     * 删除商品类型异常：error，603
     */
    DELETE_PRODUCT_TYPE_ERROR(603, "该类型有子类型，无法失败"),
    /**
     * 文件上传异常
     */
    UPLOAD_FILE_ERROR(604, "文件上传异常"),
    /**
     * 商品异常
     */
    NO_STOCK_ERROR(605, "商品库存不足"),
    NO_GOODS_ERROR(612, "商品已下架"),
    /**
     * 订单异常
     */
    ORDER_EXPIRED_ERROR(606, "订单不存在或订单超时"),
    /**
     * Redis查询异常
     */
    WRONG_TIME_ERROR(607, "商品不在秒杀时间内"),
    WRONG_NUMBER_ERROR(608, "商品以被秒杀完毕，尚无库存"),
    /**
     * 支付异常
     */
    QR_CODE_ERROR(609, "二维码生成异常"),
    CHECK_SIGN_ERROR(610, "支付宝验签异常"),
    ORDER_STATUS_ERROR(611, "订单已过期")
    ;
    
    
    private final Integer code;
    
    private final String message;
}
